package com.idp.app.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.idp.app.dto.*;
import com.idp.app.entity.SyAjxxEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 用户表Mapper
 *
 * @author： Simon
 */
@Mapper
public interface SyAjxxMapper extends BaseMapper<SyAjxxEntity> {

    /**
     * 条件查询
     *
     * @param syAjxxSearchDto
     * @return
     */
    List<SyAjxxDto> getList(SyAjxxSearchParamDto syAjxxSearchDto);

    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    SyAjxxDto getById(String id);

    /**
     * 类别分布
     *
     * @return
     */
    List<SyAjxxLxDto> getAllLxNum(ScreenCommonDto screenCommonDto);

    /**
     * 空间分布
     */
    List<SyAjxxKjfbDto> getKjfb(ScreenCommonDto screenCommonDto);

    /**
     * 数据总量
     *
     * @return
     */
    Integer getSjzl(ScreenCommonDto screenCommonDto);

    /**
     * 数据跨度
     *
     * @return
     */
    Integer getSjkd(ScreenCommonDto screenCommonDto);

    /**
     * 数据类别
     *
     * @return
     */
    List<String> getSjlb(ScreenCommonDto screenCommonDto);

    /**
     * 区域范围
     *
     * @return
     */
    List<String> getQyfw(ScreenCommonDto screenCommonDto);

    /**
     * 基层治理检查指数
     *
     * @return
     */
    List<ZhjczslbParDto> getJczljczsList(String dqbm);

    /**
     * 查询主题总数
     *
     * @return
     */
    List<String> getJczljczsCount(String dqbm);

    /**
     * 地图中间部分-根据地区查询案件数量
     *
     * @param screenCommonDto
     * @return
     */
    SyAjxxAjslDto getAjxxxx(ScreenCommonDto screenCommonDto);

    /**
     * 主题-时间分布
     *
     * @param screenCommonDto
     * @return
     */
    List<SyAjxxDateDto> getAjslByDate(ScreenCommonDto screenCommonDto);

    /**
     * 主题-空间分布
     *
     * @param screenCommonDto
     * @return
     */
    List<SyAjxxKjfbDto> getZtKjfb(ScreenCommonDto screenCommonDto);

    /**
     * 主题-类别分布
     *
     * @param screenCommonDto
     * @return
     */
    List<SyAjxxKjfbDto> getZtAjlb(ScreenCommonDto screenCommonDto);

    /**
     * 数据列表-大屏使用
     *
     * @param syAjxxSearchDto
     * @return
     */
    List<SyAjxxDto> getSjlbList(SyAjxxSearchDto syAjxxSearchDto);

    /**
     * 查询导出的案件信息
     *
     * @param syAjxxDto
     * @return
     */
    List<SyAjxxExportDto> getListInfo(SyAjxxSearchExportDto syAjxxDto);

    /**
     * 查询导出的案件信息
     *
     * @param syAjxxDto
     * @return
     */
    List<SyAjxxExportDto> getListInfo1(SyAjxxSearchExportDto syAjxxDto);

    /**
     * 查询该地区下所有的案件
     *
     * @param dqbm
     * @return
     */
    List<SyAjxxDto> findAjByPage(SyAjxxSearchDto searchDto);

    /**
     * 根据编码查询案件数量
     *
     * @param id
     * @return
     */
    Integer getAjNum(String id);

    /**
     * 生成报告
     *
     * @param screenParamDto
     * @return
     */
    List<ReportDto> getReport(ScreenParamDto screenParamDto);

    List<SqAjlbDto> getSqCount(Long id, String lx);

    /**
     * 主题下商圈数据
     *
     * @param lx
     * @return
     */
    List<SySqhdDto> selectByLx(String lx);
}
